unity通过降低分辨率来提高游戏运行效率

您所在的位置:网站首页 unity 摄像机渲染 unity通过降低分辨率来提高游戏运行效率

unity通过降低分辨率来提高游戏运行效率

#unity通过降低分辨率来提高游戏运行效率| 来源: 网络整理| 查看: 265

之前做了一个小游戏,功能很简单,内容很少,但是游戏使用了1个后期shader,导致在一些低端的android机器上连30帧都跑不到,偏偏游戏又要在高帧率下才能有非常好的体验(跑酷类游戏),真是让人头疼,想要优化却没有什么头绪,游戏本身就很小,没啥逻辑,也没啥图,也不想要去掉shader,因为还要靠这个来给游戏效果加分。shader也很简单,没有复杂的运算,就算把shader的所有逻辑去掉,直接原样输出也会效率很低,所以可以确定应该是后期shader要遍历所有像素点而导致帧率下降,与运算没有关系,这样的话只要减少像素点的个数就行了,于是就想起的平时玩pc游戏的时候,经常通过降低游戏分辨率来提高游戏fps,那在手机上行不行呢,找了一下还真被我找到了:

https://docs.unity3d.com/ScriptReference/Screen.SetResolution.html

Screen.SetResolution方法就可以设置屏幕分辨率,这里我尝试把屏幕分辨率缩小为原来的0.5:

int width = (int)(Screen.currentResolution.width * 0.5f); int height = (int)(Screen.currentResolution.height * 0.5f); Screen.SetResolution(width, height, true);打个包在手机上运行,果然可以流畅的以60帧运行。

这里我们可以在游戏启动时做一个判断,在游戏黑屏阶段运行游戏最耗费资源的功能,判断一下帧率,如果低于我们的目标就降低分辨率。

当然这种方法只能用来解决渲染方面造成到游戏卡顿问题,如果是游戏代码逻辑造成的,这种方法应该是无效的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3